Sentinel快速入门
如下的代码任然是侵入式的使用方式,也提供了注解支持模块。
应用使用 pom 工程,则在 pom.xml 文件中加入以下代码即可:1
2
3
4
5<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-core</artifactId>
<version>1.7.2</version>
</dependency>
First Demo 代码:
1 | package sentinel; |
Demo 运行之后,我们可以在日志里看到下面的输出:1
2
3
4
5
6
7
8
9
10
11window机器位于 C:\Users\shengwangzhong\logs\xxxx
~/logs/csp/${appName}-metrics.log.xxx
输出:
|--timestamp-|------date time----|-resource-|p |block|s |e|rt
1529998904000|2018-06-26 15:41:44|HelloWorld|20|0 |20|0|0
1529998905000|2018-06-26 15:41:45|HelloWorld|20|5579 |20|0|728
1529998906000|2018-06-26 15:41:46|HelloWorld|20|15698|20|0|0
1529998907000|2018-06-26 15:41:47|HelloWorld|20|19262|20|0|0
1529998908000|2018-06-26 15:41:48|HelloWorld|20|19502|20|0|0
1529998909000|2018-06-26 15:41:49|HelloWorld|20|18386|20|0|0
其中 p 代表通过的请求, block 代表被阻止的请求, s 代表成功执行完成的请求个数, e 代表用户自定义的异常, rt 代表平均响应时长。
结合控制台使用:
首先需要保证控制台处于启动状态:1
java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar
其中 -Dserver.port=8080 用于指定 Sentinel 控制台端口为 8080
此外针对上面的应用需要添加依赖:1
2
3
4
5<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-transport-simple-http</artifactId>
<version>1.7.2</version>
</dependency>
同时需要添加程序启动参数:1
2
3-Dcsp.sentinel.dashboard.server=consoleIp:port
↓↓↓↓↓↓↓
-Dcsp.sentinel.dashboard.server=localhost:8080
若启动多个应用,则需要通过 -Dcsp.sentinel.api.port=xxxx 指定客户端监控 API 的端口(默认是 8719)。
这时候,在启动程序以后,可以再dashboard页面能对具体的应用进行实时监控。